﻿/* =========================================================================================
 * Copyright (C) 2014 Rajdeep Podder
 * 
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *  
 * ========================================================================================= */

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ReCaptcha.Mvc5
{
    /// <summary>
    /// reCAPTCHA themes.
    /// ref https://developers.google.com/recaptcha/docs/customization
    /// </summary>
    public class ReCaptchaThemes
    {
        /// <summary>
        /// reCAPTCHA red theme
        /// </summary>
        public const string red = "red";

        /// <summary>
        /// reCAPTCHA white theme
        /// </summary>
        public const string white = "white";

        /// <summary>
        /// reCAPTCHA blackglass theme
        /// </summary>
        public const string blackglass = "blackglass";

        /// <summary>
        /// reCAPTCHA clean theme
        /// </summary>
        public const string clean = "clean";

        /// <summary>
        /// reCAPTCHA custom theme
        /// </summary>
        public const string custom = "custom";
    }

    /// <summary>
    /// Error Code Reference
    /// ref https://developers.google.com/recaptcha/docs/verify
    /// </summary>
    public class ReCaptchaResponseCode
    {
        /// <summary>
        /// ReCaptcha server weren't able to verify the private key.        
        /// </summary>
        public const string invalid_site_private_key = "invalid-site-private-key";

        /// <summary>
        /// The challenge parameter of the verify script was incorrect.
        /// </summary>
        public const string invalid_request_cookie = "invalid-request-cookie";

        /// <summary>
        /// The CAPTCHA solution was incorrect.
        /// </summary>
        public const string incorrect_captcha_sol = "incorrect-captcha-sol";

        /// <summary>
        /// The solution was received after the CAPTCHA timed out.
        /// </summary>
        public const string captcha_timeout = "captcha-timeout";

        /// <summary>
        /// System was unable to contact the reCAPTCHA verify server.
        /// </summary>
        public const string recaptcha_not_reachable = "recaptcha-not-reachable";
    }
}
